//请勿随意更改代码——特别是空格，去掉空格会出错
var active = {
   checked:function(cell,flag){
       $(cell).html(flag ? ' ' : "").css({backgroundColor: flag ? '#5FB878' : ""});
       $(cell).html(flag ? ' ' : "").attr("class",flag ? "iconfont icon-o3" : "iconfont icon-touming");
   },
    checkOnly: function (cell) {
        //判断点击的复选框的标签内容是否为0，如果为0则添加勾选状态
        var cellFlag = $(cell).html().length == 0;
        active.checked(cell,cellFlag);
        var flag =false;
            $(cell.closest('.datagrid-row').find('.datagrid-cell').find('i')).each(function(){
                if($(this).html().length>0){
                    flag=true;
                    return false;
                }
            })
        active.checked(cell.closest('.datagrid-row').find(".datagrid-cell-check i"),flag);
        var flag2=active.flagCheckBox(cell.closest('.datagrid-body').find('.datagrid-cell-check').find('i'));
        active.checked(cell.closest('.datagrid-body').prev().find('.datagrid-header-check i'),flag2);
    },
    //点击每行的复选框执行的函数
    click: function (cell) {
        //判断点击的复选框的标签内容是否为0，如果为0则添加勾选状态
        var cellFlag = $(cell).html().length == 0;
        active.checked(cell,cellFlag);
        active.checked(cell.parents("tr:first").find("td[field='resource']").find('.iconfont'),cellFlag);
        var flag=active.flagCheckBox(cell.closest('.datagrid-body').find('.datagrid-cell-check').find('i'));
        active.checked(cell.closest('.datagrid-body').prev().find('.datagrid-header-check i'),flag);
    },
    //点击头部复选框按钮函数
    checkAll: function (cell) {
        active.checked(cell.closest('.datagrid-view2').children().find('label i'),($(cell).html().length == 0));
    },
    flagCheckBox:function (cellRow) {
        var flag = true;//标记是否将表头的复选框勾选 true勾选，false取消
        //遍历整个图标标签集合。
        cellRow.each(function () {
            //如果有一个标签中没有图标。则表示头部复选框取消选中。
            if ($(this).html().length == 0) {
                flag = false;
                return false;
            }
        })
        return flag;
    }
}
//行内复选框点击事件
$(document).on('click', '.datagrid-cell-check i', function () {
    active['click'].call(this, $(this));
})
//头部复选框点击事件
$(document).on('click', '.datagrid-header-check i', function () {
    active['checkAll'].call(this, $(this));
})
$(document).on('click', '.datagrid-cell i', function () {
    active['checkOnly'].call(this, $(this));
})
